The present invention relates to management of System Management Bus (SMBus) devices using an SMBus Address Resolution Protocol.
Some newer personal computers include system management devices connected to a System Management Bus (SMBus) and configured for monitoring system parameters. These system management devices are configured for communication on a System Management Bus (SMBus) according to the System Management Bus Specification, Version 1.1, developed by the Smart Battery System (SBS) Implementers Forum. In particular, the SMBus is a two-wire multi-master bus, where more than one device capable of controlling the bus can be connected. The two-wire SMBus, based on the 12C Bus, is typically used for power supply monitoring and management, for example during recharging of rechargeable batteries in portable equipment such as laptop PCs. The SMBus uses an arbitration mechanism based on the 12C and relying on the wired-AND (e.g., open drain) connection of all SMBus devices: if two or more devices attempt to output data on the SMBus, any device outputting a xe2x80x9c1xe2x80x9d loses to any other device outputting a xe2x80x9c0xe2x80x9d.
A Draft Version 2.0 of the SMBus Specification describes an SMBus Address Resolution Protocol (ARP) that allows an SMBus ARP master device to assign 7-bit SMBus slave addresses to all SMBus slave devices having the capability of participating in the ARP process. An ARP-capable device must support six types of ARP commands and must provide storage for a 128 bit unique device identifier (UDID). Hence, the extra logic and data storage space required to modify a conventional SMBus device into an ARP-capable device may be substantial, adding cost and complexity to a device which may result in an unacceptably high extension to the development time.
There is a need for an arrangement that enables SMBus slave addresses to be assigned according to the SMBus Address Resolution Protocol to SMBus devices lacking ARP logic.
There also is a need for an arrangement that enables the use of legacy SMBus devices (i.e., SMBus devices lacking ARP capabilities) on an SMBus controlled by an ARP master device configured for assigning slave addresses to the SMBus devices.
These and other needs are attained by the present invention, where a proxy agent, coupled to the SMBus, is configured for obtaining, according to the SMBus Address Resolution Protocol (ARP) and from an Address Resolution Protocol (ARP) master, an SMBus slave address for a SMBus device. The proxy agent also is configured for outputting the obtained SMBus slave address for storage by the SMBus device independent of the ARP protocol. Hence, the proxy agent enables SMBus slave addresses to be assigned in SMBus devices that lack the ability to receive an assigned SMBus address according to the SMBus ARP.
One aspect of the present invention provides a method for supplying a System Management Bus (SMBus) slave address to an SMBus device coupled to an SMBus. The method includes receiving the SMBus slave address by a proxy device, coupled to the SMBus, according to an SMBus Address Resolution Protocol (ARP) from an ARP master, and supplying the SMBus slave address from the proxy device to the SMBus device independent of the Address Resolution Protocol. The reception of the SMBus slave address by the proxy device enables the proxy device to arbitrate for the SMBus slave addresses on behalf of the SMBus device lacking the capability of performing ARP operations. Moreover, the supply of the SMBus slave address by the proxy device to the SMBus device, independent of the ARP, enables the proxy device to provide SMBus slave addresses to SMBus devices lacking ARP capabilities, with minimal or no modification to the SMBus devices.
Another aspect of the present invention provides a system configured for communication on a System Management Bus with an Address Resolution Protocol (ARP) master configured for providing SMBus slave addresses to ARP-capable SMBus devices. The system includes an ARP-capable proxy device having a memory configured for storing unique device identifiers and respective SMBus slave addresses obtained from the ARP master based on a match between received ARP master commands including respective matching unique device identifiers. The system also includes at least one SMBus device configured for loading an SMBus slave address supplied by the ARP-capable proxy device.
An additional feature of this aspect is that the at least one SMBus device is configured for loading the SMBus slave address from the SMBus in response to a corresponding enable signal. In particular, the ARP-capable proxy device is configured for asserting the corresponding enable signal and outputting the corresponding SMBus slave address on the SMBus in response to storage thereof in the memory of the ARP-capable proxy device. The addition of the enable signal facilities the assignment of the slave addresses by a proxy agent to an SMBus device which is not, by itself, ARP capable.
Additional advantages and novel features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the present invention may be realized and attained by means of instrumentalities and combinations particularly pointed in the appended claims.